1. Field of Invention
The invention relates to a multi-functional storage apparatus and a control method thereof, and more particularly to a multi-functional storage apparatus, which has an external signal generator and can be accessed in a non-administrative mode of an operation system, and a control method thereof.
2. Related Art
A conventional portable storage apparatus is usually designed to possess the function of plug-and-play so that the user may easily use this apparatus. An operation system, such as “Windows XP”, has a built-in driver for a USB storage device, for example. Thus, the user can use the USB storage device in a computer host having the operation system of “Windows XP” without installing the USB storage device driver personally.
The basic architecture of this portable USB storage device includes a USB controller and a storage device, such as a flash memory, a hard disk drive or an optical disk.
In the operation system of “Windows XP”, an administrative mode and a non-administrative mode are provided in order to prevent the other non-administrative user from installing AP software or hardware driver. In the administrative mode, an administrator can install the software for the hardware so that the software can control the operation of the hardware after he or she logs in the computer.
For example, when a simple USB thumb disk (flash drive) is plugged into the computer host, the driver of the operation system of the computer host detects the USB thumb disk and then outputs a control transfer command (CTC) to the USB thumb disk so that the firmware of the USB thumb disk responds to the host system to make the operation system identify the existence of the USB thumb disk and then access the USB thumb disk. In the administrative mode and the non-administrative mode, the data in the USB thumb disk may be transferred to the computer host for execution. This is mainly because that the data access in the storage device is communicated through a bulk transfer command (BTC).
In the above-mentioned administrative and non-administrative modes, the standard USB storage device may be normally used for the data storage, copy, movement and deletion.
Illustrations will be made according to another example using the devices disclosed in the following commonly-assigned patent applications: (a) U.S. patent application Ser. No. 10/998,722 (US20050144464A1), filed on Nov. 30, 2004, and entitled “MEMORY STORAGE DEVICE WITH A FINGERPRINT SENSOR AND METHOD FOR PROTECTING THE DATA THEREIN”; (b) U.S. patent application Ser. No. 11/131,276 (US20050210271A1), filed on May 18, 2005, and entitled “ELECTRONIC IDENTIFICATION KEY WITH PORTABLE APPLICATION PROGRAMS AND IDENTIFIED BY BIOMETRICS AUTHENTICATION”; (c) U.S. patent application Ser. No. 11/115,212 (US20050244037A1), filed on Apr. 27, 2005 and entitled “PORTABLE ENCRYPTED STORAGE DEVICE WITH BIOMETRIC IDENTIFICATION AND METHOD FOR PROTECTING THE DATA THEREIN”; (d) U.S. patent application Ser. No. 11/332,167, filed on Jan. 17, 2006 and entitled “STORAGE DEVICE AND METHOD FOR PROTECTING DATA STORED THEREIN”; (e) U.S. patent application Ser. No. 11/444,393 (US20060288182A1), filed on Jun. 1, 2006, and entitled “PORTABLE STORAGE DEVICE CAPABLE OF AUTOMATICALLY RUNNING BIOMETRICS APPLICATION PROGRAMS AND METHODS OF AUTOMATICALLY RUNNING THE APPLICATION PROGRAMS”; and (f) U.S. patent application Ser. No. 11/585,872 (US20070098226A1), filed on Oct. 25, 2006, and entitled “HARD DISK APPARATUS WITH A BIOMETRICS SENSOR AND METHOD OF PROTECTING DATA THEREIN”.
When the USB thumb disk embedded with a fingerprint sensor is plugged into the computer host, the driver of the operation system of the computer host detects the existence of the USB thumb disk, and then outputs the control transfer command (CTC) to the USB thumb disk so that the firmware of the USB thumb disk responds to the host system to make the operation system identify the existence of the USB thumb disk and thus access the storage device of the USB thumb disk. However, a certain partition in the storage device of the USB thumb disk cannot be accessed unless the user passes the fingerprint identification. In this case, a fingerprint matching AP is launched and enables the fingerprint sensor to scan the user's fingerprint image and execute the authentication process, and then the application program (AP) informs the command, which could be named as a media change command, to the firmware inside the USB controller to enable the data access authority of the certain partition after the fingerprint identification passes. The commands for image getting and media change pertain to special commands but not the BTC for the standard data access.
In the administrative mode, the operation system can accept the special command to execute the complete fingerprint identification procedure. For example, the operation system can communicate with the fingerprint sensor connected thereto through the USB controller so that a captured fingerprint image can be transferred to the computer for comparison or the application program (AP) stored in the thumb disk can be executed. In the non-administrative mode, however, the operation system does not allow the execution of the basic functions other than the standard data reading or writing. That is, only the bulk read and bulk write commands are allowed. For example, the OS can not let the USB controller send the fingerprint image via the fingerprint sensor scanning to the host computer because such behaviors do not pertain to the data storing or writing behavior for the standard storage medium, and the operation system does not allow such behaviors to be executed in the non-administrative mode. In other words, the BTC of the operation system only can command the USB storage device so that data reading and writing operations can be performed in the storage medium in the non-administrative mode, and the BTC is invalid with respect to the fingerprint sensor connected to the USB controller. That is, the fingerprint data cannot be normally transmitted to the computer, or the fingerprint sensor cannot communicate with other software being executed.